package com.linln.modules.system.domain;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.linln.common.enums.StatusEnum;
import com.linln.common.utils.StatusUtil;
import com.linln.component.excel.annotation.Excel;
import com.linln.component.excel.enums.ExcelType;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.hibernate.annotations.SQLDelete;
import org.hibernate.annotations.Where;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;

import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;

/**
 * @author 小懒虫
 * @date 2018/8/14
 */
@Data
@Entity
@Table(name = "pcs_order_commission") // 修改: pcs_order -> pcs_order_amounts

@EntityListeners(AuditingEntityListener.class)
@SQLDelete(sql = "update pcs_order_commission" + StatusUtil.SLICE_DELETE) // 修改: pcs_order -> pcs_order_amounts
@Where(clause = StatusUtil.NOT_DELETE)
@Excel("订单佣金主表") // 修改: 订单 -> 订单金额变动表
public class OrderCommission implements Serializable {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Excel(value = "ID", type = ExcelType.EXPORT)
    private Long id;

    @CreatedDate
    @Excel("创建时间")
    private Date createTime;

    @LastModifiedDate
    @Excel("更新时间")
    private Date updateTime;

    @JsonIgnore
    private Long createUser;

    @JsonIgnore
    private Long updateUser;
    private String sn; // 新增字段
    @Excel("患者id")
    private Long patientId; // 新增字段
    private String projectTitle; // 新增字段
    @Excel("订单id")
    private Long orderId; // 新增字段
    private Double total; // 新增字段
    private String porterId;
    private String porterName;
    private String bedNo;
    private String depName;
    private Double commission;
    private Integer orderStatus;
    private Integer type;
    private Long companyId;

    @Excel("状态（1:正常,2:冻结,3:删除）")
    private Byte status = StatusEnum.OK.getCode(); // 新增字段

    @Excel("阶段开始时间")
    private String timeStart; // 新增字段

    @Excel("阶段结束时间")
    private String timeEnd; // 新增字段
    @Excel("服务开始日期(从哪一天开始)")
    private String startDay; // 新增字段

    @Excel("订单结束时间")
    private String endTime; // 新增字段
    @Excel("患者姓名")
    private String patientName; // 新增字段


}
